security_check();
if ($resultat_session == 'c') {
header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes");
die();
} else if ($resultat_session == '0') {
header("Location: ../logout.php?auto=1");
die();
}
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
if(!getSettingAOui('active_bulletins')) {
header("Location: ../accueil.php?msg=Module_inactif");
die();
}
// Ebauche de liste des variables reçues:
// $choix_edit correspond au choix de ce qui doit être affiché:
// Pour $choix_edit=1:
// - Tous les élèves que le prof a en cours, ou rattaché à une classe qu'a le prof, ou tous les élèves selon le choix paramétré en admin dans Droits d'accès
// - En compte scolarité ou cpe: Tous les élèves de la classe
// $choix_edit=2
// - Uniquement l'élève sélectionné: la variable $login_eleve, qui est de toute façon affectée, doit alors être prise en compte pour limiter l'affichage à cet élève
// $choix_edit=3
// - Ce choix correspond aux classes avec plusieurs professeurs principaux
// On a alors une variable $login_prof affectée pour limiter les affichages aux élèves suivi par un des profs principaux seulement
// Cette variable $login_prof ne devrait être prise en compte que dans le cas $choix_edit==3
// $choix_edit=4
// - Affichage du bulletin des avis sur la classe
//debug_var();
// Vérification sur $id_classe
if(!isset($id_classe)) {
if(isset($login_eleve)) {
$sql="SELECT id_classe FROM j_eleves_classes WHERE login='$login_eleve' ORDER BY periode DESC LIMIT 1;";
//echo "$sql
";
$res = mysqli_query($GLOBALS["mysqli"], $sql);
if (mysqli_num_rows($res)>0) {
$lig=mysqli_fetch_object($res);
$id_classe=$lig->id_classe;
}
}
if(!isset($id_classe)) {
header("Location: ../accueil.php?msg=Classe non choisie pour les bulletins simplifiés");
die();
}
}
elseif(!is_numeric($id_classe)) {
header("Location: ../accueil.php?msg=Classe invalide ($id_classe) pour les bulletins simplifiés");
die();
}
$nom_classe=get_nom_classe($id_classe);
if(!$nom_classe) {
header("Location: ../accueil.php?msg=Classe invalide ($id_classe) pour les bulletins simplifiés");
die();
}
//==============================
include "../lib/periodes.inc.php";
include "../lib/bulletin_simple.inc.php";
include "../lib/bulletin_simple_classe.inc.php";
//==============================
if(in_array($_SESSION['statut'], array('administrateur', 'professeur', 'scolarite', 'cpe', 'secours'))) {
$javascript_specifique[] = "lib/tablekit";
$utilisation_tablekit="ok";
}
require_once("../lib/header.inc.php");
//==============================
// Vérifications de sécurité
if (
($_SESSION['statut'] == "responsable" AND getSettingValue("GepiAccesBulletinSimpleParent") != "yes") OR
($_SESSION['statut'] == "eleve" AND getSettingValue("GepiAccesBulletinSimpleEleve") != "yes")
) {
tentative_intrusion(2, "Tentative de visualisation d'un bulletin simplifié sans y être autorisé.");
echo "
Vous n'êtes pas autorisé à visualiser cette page.
";
require "../lib/footer.inc.php";
die();
}
// Et une autre vérification de sécurité : est-ce que si on a un statut 'responsable' le $login_eleve est bien un élève dont le responsable a la responsabilité
if ($_SESSION['statut'] == "responsable") {
$sql="(SELECT e.login " .
"FROM eleves e, responsables2 re, resp_pers r " .
"WHERE (" .
"e.login = '" . $login_eleve . "' AND " .
"e.ele_id = re.ele_id AND " .
"re.pers_id = r.pers_id AND " .
"r.login = '" . $_SESSION['login'] . "' AND (re.resp_legal='1' OR re.resp_legal='2')))";
if(getSettingAOui('GepiMemesDroitsRespNonLegaux')) {
$sql.=" UNION (SELECT e.login FROM eleves e, resp_pers r, responsables2 re
WHERE (e.login = '" . $login_eleve . "' AND
e.ele_id = re.ele_id AND
re.pers_id = r.pers_id AND
r.login = '".$_SESSION['login']."' AND
re.resp_legal='0' AND
re.acces_sp='y'))";
}
$sql.=";";
//echo "$sql\n";
$couleur_alterne=isset($_POST['couleur_alterne']) ? $_POST['couleur_alterne'] : (isset($_GET['couleur_alterne']) ? $_GET['couleur_alterne'] : "n");
if(($couleur_alterne!='y')&&($couleur_alterne!='n')) {
$couleur_alterne="n";
}
else {
savePref($_SESSION['login'],'bull_simp_pref_couleur_alterne',$couleur_alterne);
}
//====================================
$bull_simp_larg_tab_defaut = 680;
$bull_simp_larg_col1_defaut = 120;
$bull_simp_larg_col2_defaut = 38;
$bull_simp_larg_col3_defaut = 38;
$bull_simp_larg_col4_defaut = 20;
$bull_simp_larg_tab=isset($_POST['bull_simp_larg_tab']) ? $_POST['bull_simp_larg_tab'] : (isset($_GET['bull_simp_larg_tab']) ? $_GET['bull_simp_larg_tab'] : getPref($_SESSION['login'], 'bull_simp_larg_tab', $bull_simp_larg_tab_defaut));
$bull_simp_larg_col1=isset($_POST['bull_simp_larg_col1']) ? $_POST['bull_simp_larg_col1'] : (isset($_GET['bull_simp_larg_col1']) ? $_GET['bull_simp_larg_col1'] : getPref($_SESSION['login'], 'bull_simp_larg_col1', $bull_simp_larg_col1_defaut));
$bull_simp_larg_col2=isset($_POST['bull_simp_larg_col2']) ? $_POST['bull_simp_larg_col2'] : (isset($_GET['bull_simp_larg_col2']) ? $_GET['bull_simp_larg_col2'] : getPref($_SESSION['login'], 'bull_simp_larg_col2', $bull_simp_larg_col2_defaut));
$bull_simp_larg_col3=isset($_POST['bull_simp_larg_col3']) ? $_POST['bull_simp_larg_col3'] : (isset($_GET['bull_simp_larg_col3']) ? $_GET['bull_simp_larg_col3'] : getPref($_SESSION['login'], 'bull_simp_larg_col3', $bull_simp_larg_col3_defaut));
$bull_simp_larg_col4=isset($_POST['bull_simp_larg_col4']) ? $_POST['bull_simp_larg_col4'] : (isset($_GET['bull_simp_larg_col4']) ? $_GET['bull_simp_larg_col4'] : getPref($_SESSION['login'], 'bull_simp_larg_col4', $bull_simp_larg_col4_defaut));
if(!preg_match("/^[0-9]{1,}$/", $bull_simp_larg_tab)) {
$bull_simp_larg_tab=$bull_simp_larg_tab_defaut;
}
if(!preg_match("/^[0-9]{1,}$/", $bull_simp_larg_col1)) {
$bull_simp_larg_col1=$bull_simp_larg_col1_defaut;
}
if(!preg_match("/^[0-9]{1,}$/", $bull_simp_larg_col2)) {
$bull_simp_larg_col2=$bull_simp_larg_col2_defaut;
}
if(!preg_match("/^[0-9]{1,}$/", $bull_simp_larg_col3)) {
$bull_simp_larg_col3=$bull_simp_larg_col3_defaut;
}
if(!preg_match("/^[0-9]{1,}$/", $bull_simp_larg_col4)) {
$bull_simp_larg_col4=$bull_simp_larg_col4_defaut;
}
if($bull_simp_larg_tab<$bull_simp_larg_col1+$bull_simp_larg_col2+$bull_simp_larg_col3+$bull_simp_larg_col4) {
$bull_simp_larg_tab = $bull_simp_larg_tab_defaut;
$bull_simp_larg_col1 = $bull_simp_larg_col1_defaut;
$bull_simp_larg_col2 = $bull_simp_larg_col2_defaut;
$bull_simp_larg_col3 = $bull_simp_larg_col3_defaut;
$bull_simp_larg_col4 = $bull_simp_larg_col4_defaut;
}
savePref($_SESSION['login'], 'bull_simp_larg_tab', $bull_simp_larg_tab);
savePref($_SESSION['login'], 'bull_simp_larg_col1', $bull_simp_larg_col1);
savePref($_SESSION['login'], 'bull_simp_larg_col2', $bull_simp_larg_col2);
savePref($_SESSION['login'], 'bull_simp_larg_col3', $bull_simp_larg_col3);
savePref($_SESSION['login'], 'bull_simp_larg_col4', $bull_simp_larg_col4);
//====================================
if ($choix_edit == '2') {
bulletin($tab_moy,$login_eleve,1,1,$periode1,$periode2,$nom_periode,$gepiYear,$id_classe,$affiche_rang,$nb_coef_superieurs_a_zero,$affiche_categories,$couleur_alterne);
}
//echo "choix_edit=$choix_edit
";
if ($choix_edit != '2') {
// Si on arrive là, on n'est ni élève, ni responsable
unset($sql);
//if ($_SESSION['statut'] == "professeur" AND getSettingValue("GepiAccesMoyennesProfTousEleves") != "yes" AND getSettingValue("GepiAccesMoyennesProfToutesClasses") != "yes") {
if ($_SESSION['statut'] == "professeur" AND
getSettingValue("GepiAccesBulletinSimpleProfToutesClasses") != "yes" AND
getSettingValue("GepiAccesBulletinSimpleProfTousEleves") != "yes") {
// On ne sélectionne que les élèves que le professeur a en cours
//if ($choix_edit == '1') {
if (($choix_edit == '1')||(!isset($login_prof))) {
// On a alors $choix_edit==1 ou $choix_edit==4
/*
$appel_liste_eleves = mysql_query("SELECT DISTINCT e.* " .
"FROM eleves e, j_eleves_classes jec, j_eleves_groupes jeg, j_groupes_professeurs jgp " .
"WHERE (" .
"jec.id_classe='$id_classe' AND " .
"e.login = jeg.login AND " .
"jeg.login = jec.login AND " .
"jeg.id_groupe = jgp.id_groupe AND " .
"jgp.login = '".$_SESSION['login']."') " .
"ORDER BY e.nom,e.prenom");
*/
if(is_pp($_SESSION['login'], $id_classe)) {
if(getSettingAOui('GepiAccesBulletinSimpleProf')) {
$sql="(SELECT DISTINCT e.* " .
"FROM eleves e, j_eleves_classes jec, j_eleves_groupes jeg, j_groupes_professeurs jgp " .
"WHERE (" .
"jec.id_classe='$id_classe' AND " .
"e.login = jeg.login AND " .
"jeg.login = jec.login AND " .
"jeg.id_groupe = jgp.id_groupe AND " .
"jgp.login = '".$_SESSION['login']."')) " .
"UNION (SELECT DISTINCT e.* " .
"FROM eleves e, j_eleves_classes jec, j_eleves_professeurs jep " .
"WHERE (" .
"jec.id_classe='$id_classe' AND " .
"e.login = jep.login AND " .
"jep.login = jec.login AND " .
"jep.professeur = '".$_SESSION['login']."')) ORDER BY nom,prenom;";
$appel_liste_eleves = mysqli_query($GLOBALS["mysqli"], $sql);
}
else {
$sql="SELECT DISTINCT e.* " .
"FROM eleves e, j_eleves_classes jec, j_eleves_professeurs jep " .
"WHERE (" .
"jec.id_classe='$id_classe' AND " .
"e.login = jep.login AND " .
"jep.login = jec.login AND " .
"jep.professeur = '".$_SESSION['login']."') ORDER BY e.nom,e.prenom;";
$appel_liste_eleves = mysqli_query($GLOBALS["mysqli"], $sql);
}
}
else {
$sql="SELECT DISTINCT e.* " .
"FROM eleves e, j_eleves_classes jec, j_eleves_groupes jeg, j_groupes_professeurs jgp " .
"WHERE (" .
"jec.id_classe='$id_classe' AND " .
"e.login = jeg.login AND " .
"jeg.login = jec.login AND " .
"jeg.id_groupe = jgp.id_groupe AND " .
"jgp.login = '".$_SESSION['login']."') " .
"ORDER BY e.nom,e.prenom";
$appel_liste_eleves = mysqli_query($GLOBALS["mysqli"], $sql);
}
} else {
// On a alors $choix_edit==3 uniquement les élèves du professeur principal $login_prof
if((getSettingAOui('GepiAccesPPTousElevesDeLaClasse'))&&(is_pp($_SESSION['login'], $id_classe))) {
// Tous les élèves vont être affichés
$sql="SELECT DISTINCT e.* " .
"FROM eleves e, j_eleves_classes jec " .
"WHERE (" .
"jec.id_classe='$id_classe' AND " .
"jec.login=e.login) ".
"ORDER BY e.nom,e.prenom";
}
else {
$sql="SELECT DISTINCT e.* " .
"FROM eleves e, j_eleves_classes jec, j_eleves_groupes jeg, j_groupes_professeurs jgp, j_eleves_professeurs jep " .
"WHERE (" .
"jec.id_classe='$id_classe' AND " .
"e.login = jeg.login AND " .
"jeg.login = jep.login AND " .
"jep.professeur = '".$login_prof."' AND " .
"jep.login = jec.login AND " .
"jeg.id_groupe = jgp.id_groupe AND " .
"jgp.login = '".$_SESSION['login']."') " .
"ORDER BY e.nom,e.prenom";
}
}
} else {
// On sélectionne sans restriction
//if ($choix_edit == '1') {
if (($choix_edit == '1')||(!isset($login_prof))) {
// On a alors $choix_edit==1 ou $choix_edit==4
$sql="SELECT DISTINCT e.* " .
"FROM eleves e, j_eleves_classes c " .
"WHERE (" .
"c.id_classe='$id_classe' AND " .
"e.login = c.login" .
") ORDER BY e.nom,e.prenom";
} else {
// On a alors $choix_edit==3
$sql="SELECT DISTINCT e.* " .
"FROM eleves e, j_eleves_classes c, j_eleves_professeurs jep " .
"WHERE (" .
"c.id_classe='$id_classe' AND " .
"e.login = c.login AND " .
"jep.login=c.login AND " .
"jep.professeur='$login_prof'" .
") ORDER BY e.nom,e.prenom";
}
}
if(!isset($sql)) {
echo "
Aucune liste d'élèves n'a été extraite.
Êtes-vous bine autorisé à vous trouver ici ?
\n";
require("../lib/footer.inc.php");
die();
}
//echo "$sql
";
$appel_liste_eleves = mysqli_query($GLOBALS["mysqli"], $sql);
$nombre_eleves = mysqli_num_rows($appel_liste_eleves);
$avec_moy_min_max_classe="y";
if((($_SESSION['statut']=='eleve')&&(!getSettingAOui('GepiAccesBulletinSimpleColonneMoyClasseMinMaxEleve')))||
(($_SESSION['statut']=='responsable')&&(!getSettingAOui('GepiAccesBulletinSimpleColonneMoyClasseMinMaxResp')))) {
$avec_moy_min_max_classe="n";
}
//echo "\$avec_moy_min_max_classe=$avec_moy_min_max_classe
";
//=========================
// AJOUT: boireaus 20080209
// Affichage des appréciations saisies pour la classe
bulletin_classe($tab_moy,$nombre_eleves,$periode1,$periode2,$nom_periode,$gepiYear,$id_classe,$nb_coef_superieurs_a_zero,$affiche_categories,$couleur_alterne);
if ($choix_edit == '4') {
require("../lib/footer.inc.php");
die();
}
echo "
\n";
//=========================
$i=0;
$k=0;
while ($i < $nombre_eleves) {
$current_eleve_login = old_mysql_result($appel_liste_eleves, $i, "login");
$k++;
//bulletin($current_eleve_login,$k,$nombre_eleves,$periode1,$periode2,$nom_periode,$gepiYear,$id_classe,$affiche_rang,$test_coef,$affiche_categories);
//bulletin($current_eleve_login,$k,$nombre_eleves,$periode1,$periode2,$nom_periode,$gepiYear,$id_classe,$affiche_rang,$nb_coef_superieurs_a_zero,$affiche_categories);
//bulletin_bis($tab_moy,$current_eleve_login,$k,$nombre_eleves,$periode1,$periode2,$nom_periode,$gepiYear,$id_classe,$affiche_rang,$nb_coef_superieurs_a_zero,$affiche_categories);
bulletin($tab_moy,$current_eleve_login,$k,$nombre_eleves,$periode1,$periode2,$nom_periode,$gepiYear,$id_classe,$affiche_rang,$nb_coef_superieurs_a_zero,$affiche_categories,$couleur_alterne);
if ($i != $nombre_eleves-1) {echo "
";}
$i++;
}
}
echo "
\n"; // Fin du div_prepa_conseil_bull_simp
echo "